From 78c5a8881b3ad51b01fc32b290a49c111962f76f Mon Sep 17 00:00:00 2001 From: Steven Hand Date: Tue, 17 Apr 2007 15:41:44 +0100 Subject: [PATCH] Fix for bug introduced by cset 14859:a9aa7c29eda8 - implement IOREQ_TYPE_SUB for intercepted mmio access too. Signed-off-by: Steven Hand --- xen/arch/x86/hvm/intercept.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c index 91749b676b..e9712ce791 100644 --- a/xen/arch/x86/hvm/intercept.c +++ b/xen/arch/x86/hvm/intercept.c @@ -148,6 +148,15 @@ static inline void hvm_mmio_access(struct vcpu *v, p->data = tmp1; break; + case IOREQ_TYPE_SUB: + tmp1 = read_handler(v, p->addr, p->size); + if ( p->dir == IOREQ_WRITE ) { + tmp2 = tmp1 - (unsigned long) p->data; + write_handler(v, p->addr, p->size, tmp2); + } + p->data = tmp1; + break; + default: printk("hvm_mmio_access: error ioreq type %x\n", p->type); domain_crash_synchronous(); -- 2.30.2